昨天讓 Claude Code 幫我做 Code Review,發現除了 Bug 之外,還有例外處理、API 設計以及安全性等問題。
這時候我開始思考:
既然這些問題都是我希望 AI 注意的,那為什麼每次都要重新告訴它?
前幾天介紹 CLAUDE.md 時,我就把它當成 Claude Code 的「工作手冊」。
所以今天我想把昨天 Code Review 發現的問題,整理成固定的開發規則,直接加入 CLAUDE.md。
例如:
## Code Review Rules ### Error Handling
- Database 操作需要處理可能發生的 Exception
- 不要忽略錯誤 - 確保 Database connection 可以正常關閉
### API
- API 需要使用適當的 HTTP Status Code
- 找不到資料時不要一律回傳 200
- 修改 API 前先確認目前的 API 架構
### Security - 密碼不可使用明文儲存
- Secret Key 不要直接寫死在程式碼中
- 需要檢查 API 的登入與權限 - 不要將敏感資訊寫入 Log
### Testing
- 新增功能需要建立對應 Test
- 修改功能後需要重新執行相關 Test
- 不要為了讓 Test 通過而修改 Test 的預期結果
加入之後,我再讓 Claude Code 檢查目前的專案:
請重新檢查目前專案。
這次除了原本的 Code Review 項目之外, 也請按照 CLAUDE.md 裡面的規則進行檢查。
先不要修改程式碼, 只列出違反規則的地方以及原因。

這次讓我更理解 CLAUDE.md 的作用。
它不只是用來告訴 Claude Code「這個專案使用什麼技術」,也可以把我自己的開發習慣、品質要求和 Code Review 標準寫進去。
例如今天發現「密碼不能使用明文儲存」,我不希望 Claude Code 只修正這一次,而是希望它記住這是一條長期的開發規則。
這樣之後再新增功能時,就不需要每次重新提醒。
我也開始發現,真正好的規則不是只有「不要這樣做」,而是要讓 AI 知道什麼情況不能做、為什麼不能做,以及應該怎麼做。
例如不要只寫:
不要把密碼存成明文
也可以寫得更完整:
密碼不可使用明文儲存,
必須使用安全的 Password Hash 方式儲存。
這樣 Claude Code 才比較容易理解我真正想要的開發方式。
經過這幾天的實驗,我開始慢慢把自己的開發習慣整理成 AI 可以理解的規則。
明天研究主題:讓 Claude Code 先幫我規劃,再開始寫 Code